From: Matthias Clasen Date: Tue, 4 Oct 2011 20:19:09 +0000 (-0400) Subject: ShellContactSystem: Make address search actually work X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~7492 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=472b20d933ffc0506080055d5b66d5de749acfbc;p=gnome-shell.git ShellContactSystem: Make address search actually work The code was not dealing properly with what folks returns for im and email addresses. https://bugzilla.gnome.org/show_bug.cgi?id=660925 --- diff --git a/src/shell-contact-system.c b/src/shell-contact-system.c index d02c1e26a..4a2b95899 100644 --- a/src/shell-contact-system.c +++ b/src/shell-contact-system.c @@ -188,7 +188,8 @@ do_match (ShellContactSystem *self, while (gee_iterator_next (addrs_iter)) { - const gchar *addr = gee_iterator_get (addrs_iter); + FolksImFieldDetails *field = gee_iterator_get (addrs_iter); + const gchar *addr = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*)field); p = strstr (addr, term); if (p == addr) @@ -201,13 +202,16 @@ do_match (ShellContactSystem *self, have_addr_substring = TRUE; matched = TRUE; } + + g_object_unref (field); } g_object_unref (addrs_iter); addrs_iter = gee_iterable_iterator (GEE_ITERABLE (email_addrs)); while (gee_iterator_next (addrs_iter)) { - const gchar *addr = gee_iterator_get (addrs_iter); + FolksEmailFieldDetails *field = gee_iterator_get (addrs_iter); + const gchar *addr = folks_abstract_field_details_get_value ((FolksAbstractFieldDetails*)field); p = strstr (addr, term); if (p == addr) @@ -220,6 +224,8 @@ do_match (ShellContactSystem *self, have_addr_substring = TRUE; matched = TRUE; } + + g_object_unref (field); } g_object_unref (addrs_iter);